/*******************************************************
> Copyright (C) 2024 ==IOT== All rights reserved.
> File Name: circle.cpp
> Author: IOT
> Website:www.slq.org
> Created Time: 2024年10月22日 星期二 09时42分00秒
***************************************************/

#include <iostream>

using namespace std;

// 设计一个圆形类,提供圆的半径，计算圆的面积
// 分析计算圆形的面积需要用到PI值，这是一个常量定值。如果这个值
// 做为类的成员变量，它需不需要在每一个对象中都有一个副本(copy)。

class Circle {
	static const double pi; // 静态成员变量，在类内声明
	float radius;			// 半径
	float perimeter;		// 周长
	float areas;			// 面积
	
	public:
	Circle() : radius(0.0), perimeter(0.0), areas(0.0) // 无参构造，通过初始化列表给成员变量赋初始值
	{}
	void setRadius(float r)
	{
		this->radius = r;
	}
	bool calc()
	{
		perimeter = 2 * pi * radius;
		areas = pi * radius * radius;
		return true;
	}
	float getAreas()
	{
		return areas;
	}
};

const double Circle::pi = 3.15; // 静态成员变量，类外定义并赋初始值

int main(int argc,const char* argv[])
{
	Circle c;
	c.setRadius(10.0);
	c.calc();
	cout << c.getAreas() << endl;
	
    return 0;
}
